package com.lyf.shop.service.impl;

import java.util.List;
import com.lyf.common.core.utils.DateUtils;
import com.lyf.shop.dto.RegionDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.lyf.shop.mapper.RegionMapper;
import com.lyf.shop.domain.Region;
import com.lyf.shop.service.IRegionService;

/**
 * 商品所属区域Service业务层处理
 * 
 * @author lyf
 * @date 2023-02-10
 */
@Service
public class RegionServiceImpl implements IRegionService 
{
    @Autowired
    private RegionMapper regionMapper;

    /**
     * 查询商品所属区域
     * 
     * @param id 商品所属区域主键
     * @return 商品所属区域
     */
    @Override
    public Region selectRegionById(Long id)
    {
        return regionMapper.selectRegionById(id);
    }

    /**
     * 查询商品所属区域列表
     * 
     * @param region 商品所属区域
     * @return 商品所属区域
     */
    @Override
    public List<Region> selectRegionList(Region region)
    {
        return regionMapper.selectRegionList(region);
    }

    /**
     * 查询区域关联的超市名称与员工姓名
     * @param regionDto 商品所属区域
     * @return
     */
    @Override
    public List<RegionDto> selectRegionNameList(RegionDto regionDto)
    {
        return regionMapper.selectRegionNameList(regionDto);
    }



    /**
     * 新增商品所属区域
     * 
     * @param region 商品所属区域
     * @return 结果
     */
    @Override
    public int insertRegion(Region region)
    {
        region.setCreateTime(DateUtils.getNowDate());
        return regionMapper.insertRegion(region);
    }

    /**
     * 修改商品所属区域
     * 
     * @param region 商品所属区域
     * @return 结果
     */
    @Override
    public int updateRegion(Region region)
    {
        region.setUpdateTime(DateUtils.getNowDate());
        return regionMapper.updateRegion(region);
    }

    /**
     * 批量删除商品所属区域
     * 
     * @param ids 需要删除的商品所属区域主键
     * @return 结果
     */
    @Override
    public int deleteRegionByIds(Long[] ids)
    {
        return regionMapper.deleteRegionByIds(ids);
    }

    /**
     * 删除商品所属区域信息
     * 
     * @param id 商品所属区域主键
     * @return 结果
     */
    @Override
    public int deleteRegionById(Long id)
    {
        return regionMapper.deleteRegionById(id);
    }


    /**
     * 根据用户id查询关联的超市与分类id
     * @param userId
     * @return
     */
    public List<Region> getRegionNameByUserId(Long userId){
      return   regionMapper.getRegionNameByUserId(userId);
    }
}
